<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    

<script>
// Promsie对象的then方法
// then 然后。。。
// then方法用于指定Promise对象成功和失败状态的回调函数
// then方法执行后返回一个新的Promsie对象（链式调用）

console.log( 1 );
let p1 = new Promise((resolve,reject)=>{// excutor执行器函数，同步执行
    console.log( 2 );
    // resolve(123);// p1成功状态，结果123
    reject(456);// p1失败状态，结果456
});

let p2 = p1.then(// then方法，同步执行
    ()=>{// p1成功状态的回调函数，异步执行
        console.log( 'p1成功状态' );
    },
    ()=>{// p1失败状态的回调函数，异步执行
        console.log( 'p1失败状态' );
    }
);
console.log( 3 );

// then方法执行后返回的新的Promise对象 -> p2
// p2的状态和结果是重点和难点！！！
console.log( p2 );// Promise {<fulfilled>:undefined}

// 链式调用：
// p1.then().then().then().then()...

</script>
</body>
</html>